今天練習了一些python的小習題,
下面是嘗試錯誤的紀錄:
請寫一支Python程式,切割並合併以下兩個字串使之成為合理的順序
a = ['a','3','z','7','e']
b = ['39','j','10','15','c']
a=['a','3','z','7','e']
b=['39','j','10','15','c']
print (list(a[0]+b[4]+a[4]+b[1]+a[2]))
print(list(a[1]+a[3]+b[2]+b[3]+b[0]))
這個基本題的解法當然很多,
原本想簡單一點直接這樣列,
但忽略了list的特性,
會讓我的第二行print的數字被拆開來:
['a', 'c', 'e', 'j', 'z']
['3', '7', '1', '0', '1', '5', '3', '9']
本來以為可以順利跑出'10','15','39'
卻被拆開了,
只能直接整串改掉。
另一個練習是我想把學的東西綜合起來試試看,
我想輸入一個有小數點的數字,
把它轉換成整數,
再print出整數的長度。
最開始的時候是長這樣:
a=int(input('number='))
print(len(str(a)))
然後就跑出了錯誤:
invalid literal for int() with base 10:
在我原本的理解,
int是‘取整數’的意思,
但實際上,
int或float都只是一種‘數字’的類型,
沒法辦法直接從文字的浮點數轉換成數字整數,
因此要改成下面這個方式:
a=int(float(input('number=')))
print(len(str(a)))
先讓文字的浮點數用float轉換成浮點數字,再用int取整數,這樣就沒有問題了。